/* * Copyright 2001-2005 Stephen Colebourne * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.joda.time; import java.awt.print.PageFormat; import java.util.Locale; import org.joda.time.chrono.GregorianChronology; import org.joda.time.chrono.ISOChronology; import org.joda.time.format.DateTimeFormat; import org.joda.time.format.DateTimeFormatter; import org.joda.time.format.DateTimeFormatterBuilder; import org.joda.time.format.PeriodFormat; import org.joda.time.format.PeriodFormatter; /** * Test. */ public class TempTest { static DateTimeZone LONDON = DateTimeZone.forID("Europe/London"); static DateTimeZone PARIS = DateTimeZone.forID("Europe/Paris"); static DateTimeZone NEWYORK = DateTimeZone.forID("America/New_York"); public static void main(String[] args) { DateTime todayDateObj = new DateTime(2014, 8, 9, 0, 0, 0); DateTime backDaysObj=todayDateObj.minusDays(9); DateTime backMonthObj=backDaysObj.minusMonths(10); DateTime backYearObj=backMonthObj.minusYears(10); System.out.println(todayDateObj); System.out.println(backDaysObj); System.out.println(backMonthObj); System.out.println(backYearObj); System.out.println(backYearObj.plusYears(10).plusMonths(10).plusDays(9)); // DateTimeZone zone = DateTimeZone.forID("America/Argentina/San_Luis"); // System.out.println(zone.getShortName(System.currentTimeMillis())); // System.out.println(LONDON.getShortName(System.currentTimeMillis())); // System.out.println(PARIS.getShortName(System.currentTimeMillis())); // System.out.println(NEWYORK.getShortName(System.currentTimeMillis())); // // for (String id : DateTimeZone.getAvailableIDs()) { // DateTimeZone z = DateTimeZone.forID(id); // String str = z.getShortName(System.currentTimeMillis()); // String str2 = z.getName(System.currentTimeMillis()); // if (str.startsWith("+") || str.startsWith("-")) { // System.out.println(z + " " + str + " " + str2 + " " + z.getNameKey(System.currentTimeMillis())); // System.out.println(DateTimeFormat.forPattern("z Z").withZone(z).print(System.currentTimeMillis())); // } // } // Locale.setDefault(Locale.FRENCH); // // PeriodFormatter f1 = PeriodFormat.getDefault(); // PeriodFormatter f2 = PeriodFormat.wordBased(); // PeriodFormatter f3 = PeriodFormat.wordBased(Locale.GERMAN); // String str1 = f1.withLocale(Locale.ITALIAN).print(Period.months(2).withDays(3)); // String str2 = f2.withLocale(Locale.ITALIAN).print(Period.months(2).withDays(3)); // String str3 = f3.withLocale(Locale.ITALIAN).print(Period.months(2).withDays(3)); // System.out.println(str1); // System.out.println(str2); // System.out.println(str3); //// DateTimeFormatter formatter = DateTimeFormat.forPattern("'added' MMMM dd yyyy 'at' HH:mm").withZoneUTC(); // DateTimeFormatter formatter = new DateTimeFormatterBuilder() // .appendLiteral("added ") // .appendMonthOfYearText() // .appendLiteral(' ') // .appendDayOfMonth(2) // .appendLiteral(' ') // .appendYear(4, 4) // .appendLiteral(" at ") //// .append(DateTimeFormat.forPattern("HH:mm")) // .appendHourOfDay(2) // .appendLiteral(":") // .appendMinuteOfDay(2) // .toFormatter() // .withZoneUTC(); // // String s1 = "added December 11 2014 at 05:45"; // String s2 = "added December 11 2014 at 14:45"; // // DateTime date1 = DateTime.parse(s1, formatter); // DateTime date2 = DateTime.parse(s2, formatter); // // System.out.println(date1); // System.out.println(date2); // DateTimeZone MST = DateTimeZone.forID("MST"); // DateTime start = new DateTime(2014, 8, 12, 9, 0, MST); // DateTime past1 = new DateTime(MST).minusDays(2); // DateTime later1 = past1.plusSeconds((int) new Duration(past1, start).getStandardSeconds()); // System.out.println(past1); // System.out.println(start); // System.out.println(new Period(past1, start)); // System.out.println(later1); // DateTime past2 = past1.withMillisOfSecond(0); // DateTime later2 = past2.plusSeconds((int) new Duration(past2, start).getStandardSeconds()); // System.out.println(later2); // Locale poland = new Locale("pl", "PL"); // DateTimeFormatter a = DateTimeFormat.forStyle("S-").withLocale(poland); // DateTimeFormatter b = DateTimeFormat.forStyle("M-").withLocale(poland); // System.out.println(a.print(0)); // System.out.println(b.print(0)); // // DateFormat e = DateFormat.getDateInstance(DateFormat.SHORT, poland); // System.out.println(e.format(new Date())); // DateFormat f = DateFormat.getDateInstance(DateFormat.MEDIUM, poland); // System.out.println(f.format(new Date())); // LocalDate start = new LocalDate(2014, 7, 31); // LocalDate end = new LocalDate(2014, 9, 17); // Period p = Period.fieldDifference(start, end); // LocalDate recalculatedEnd = start.plus(p); // System.out.println(p); // System.out.println(end); // System.out.println(recalculatedEnd); // DateTime tomorrow = new DateTime().plusDays(1); // // Interval i1 = new Interval(today, today); // Interval i2 = new Interval(today, tomorrow); // Interval i3 = new Interval(tomorrow, tomorrow); // // System.out.println(i1); // System.out.println(i2); // System.out.println(i3); // // if (i1.isBefore(i2)) System.out.println("i1 before i2"); // "i1 before i2" // if (i2.isBefore(i1)) System.out.println("i2 before i1"); // "" // if (i2.isBefore(i3)) System.out.println("i2 before i3"); // "i2 before i3" // TimeZone.setDefault(TimeZone.getTimeZone("America/Los_Angeles")); // DateTimeZone.setDefault(DateTimeZone.forID("America/Los_Angeles")); // Calendar cLocal = Calendar.getInstance(); // cLocal.set(2014, 0, 31, 16, 0, 0); // cLocal.set(Calendar.MILLISECOND, 0); // System.out.format("Local.instant=%d\n", cLocal.getTimeInMillis()); //output: 1391212800000 // // Calendar cUTC = Calendar.getInstance(TimeZone.getTimeZone("UTC")); // cUTC.set(2014, 1, 1, 0, 0, 0); // cUTC.set(Calendar.MILLISECOND, 0); // System.out.format("UTC.instant=%d\n", cUTC.getTimeInMillis()); //output: 1391212800000 // // LocalDate local = new LocalDate(cLocal.getTimeInMillis()); // System.out.println(local + " " + local.getLocalMillis()); // System.out.format("local=%s .instant=%d\n", local.toString(), local.toDate().getTime()); //output: local=2014-01-31 .instant=1391155200000 // LocalDate utc = new LocalDate(cUTC.getTimeInMillis(), DateTimeZone.UTC); // System.out.println(utc + " " + utc.getLocalMillis()); // System.out.format("utc=%s .instant=%d\n", utc.toString(), utc.toDate().getTime());//output: utc=2014-02-01 .instant=1391241600000 // // Period p1 = Period.fieldDifference(utc,local); // Period p = p1.normalizedStandard(PeriodType.millis()); //java.lang.ArithmeticException: Value cannot fit in an int: 2592000000 // DateTimeZone zone = DateTimeZone.forOffsetMillis(p.getMillis()); // Assert.assertEquals(DateTimeZone.forOffsetHours(-8), zone); // // DateTime dtLocal = new DateTime(2014, 1, 31, 16, 00); //server time // DateTime dtUTC = new DateTime(2014, 2, 1, 0, 0, DateTimeZone.UTC); //Assume UTC = server+8 hours (actual code uses DateTime.now(DateTimeZone.UTC)) // LocalDate local = dtLocal.toLocalDate(); // LocalDate utc = dtUTC.toLocalDate(); // System.out.println(local); // System.out.println(utc); // // Period p = Period.fieldDifference(utc,local).normalizedStandard(PeriodType.millis()); //Throws a java.lang.ArithmeticException: Value cannot fit in an int: xx // System.out.println(p); // DateTime dtLocal = new DateTime(2014, 1, 31, 15, 59); //Server time // DateTime dtUTC = new DateTime(2014, 1, 31, 12, 59, DateTimeZone.UTC); //Assume UTC = server+8 hours (actual code uses DateTime.now(DateTimeZone.UTC)) // // LocalDate local = dtLocal.toLocalDate(); // LocalDate utc = dtUTC.toLocalDate(); // // Period p = Period.fieldDifference(utc,local).normalizedStandard(PeriodType.millis()); // // DateTimeZone timeZone = DateTimeZone.forID("America/Havana"); // long milli = 1352005199998L; // MutableDateTime dt = new MutableDateTime(milli, timeZone); // // now dt is 2012-11-04T00:59:59.998-04:00 // // int year = dt.getYear(); // 2012 // int month = dt.getMonthOfYear(); // 11 // int day = dt.getDayOfMonth(); // 4 // // Interval theDay = new LocalDate(year, month, day).toInterval(timeZone); // // theDay is 2012-11-04T00:00:00.000-05:00/2012-11-05T00:00:00.000-05:00, // // which does not include dt. // System.out.println(theDay); // // Interval lastDay = new LocalDate(year, month, day-1).toInterval(timeZone); // // lastDay is 2012-11-03T00:00:00.000-04:00/2012-11-04T00:00:00.000-05:00 // // i.e. joda thinks that 2012-11-04T00:59:59.998-04:00 is an instance of 2012-11-3 // // instead of 2012-11-04 // System.out.println(lastDay); // TimeZone.setDefault(TimeZone.getTimeZone("GMT")); // DateTimeZone.setDefault(DateTimeZone.forOffsetHoursMinutes(5, 30)); // DateTimeFormatter dateTimeFormatter = DateTimeFormat.forPattern("dd/MM/yyyy").withZoneUTC(); // DateTime dateTime = DateTime.parse("10/06/2014", dateTimeFormatter).toDateTime(DateTimeZone.UTC); // System.out.println(dateTime.getZone()); // long value = dateTime.getMillis()/1000; // System.out.println(dateTime); // System.out.println(value); // System.out.println(new Date(value * 1000)); // parseDate("dd/MM/yyyy", "10/06/2014") giving me 1402338600 // which is // GMT: Mon, 09 Jun 2014 18:30:00 GMT // Your time zone: 6/10/2014 12:00:00 AM GMT+5.5 // System.out.println(new LocalDate(ISOChronology.getInstanceUTC())); // System.out.println(new LocalDate(CopticChronology.getInstanceUTC())); // System.out.println(new LocalDate(EthiopicChronology.getInstanceUTC())); // // LocalDate coptic = new LocalDate(1, 1, 1, CopticChronology.getInstanceUTC()); // System.out.println(coptic); // System.out.println(coptic.toDateTimeAtStartOfDay(DateTimeZone.UTC).withChronology(ISOChronology.getInstanceUTC()).toLocalDate()); // // LocalDate ethiopic = new LocalDate(1, 1, 1, EthiopicChronology.getInstanceUTC()); // System.out.println(ethiopic); // System.out.println(ethiopic.toDateTimeAtStartOfDay(DateTimeZone.UTC).withChronology(ISOChronology.getInstanceUTC()).toLocalDate()); // DateTimeZone tz = DateTimeZone.forID("America/Argentina/Buenos_Aires"); // DateTimeZone.setDefault(tz); // DateTimeFormatter df = DateTimeFormat.forPattern("EEE, dd MMM yyyy HH:mm:ss zzz"); // // df.parseMillis(df.print(System.currentTimeMillis())); // DateTimeZone branco = DateTimeZone.forID("America/Rio_Branco"); // System.out.println(branco); // Instant old = new Instant(0L); // Instant i = new Instant(branco.nextTransition(old.getMillis())); // while (old.equals(i) == false) { // System.out.println(i); // old = i; // i = new Instant(branco.nextTransition(old.getMillis())); // } // // DateTime dt = new DateTime(2008, 6, 23, 23, 0, branco); // System.out.println(dt); // dt = dt.plusMinutes(30); // System.out.println(dt); // dt = dt.plusMinutes(30); // System.out.println(dt); // dt = dt.plusMinutes(30); // System.out.println(dt); // dt = dt.plusMinutes(30); // System.out.println(dt); // dt = dt.plusMinutes(30); // System.out.println(dt); // dt = dt.plusMinutes(30); // System.out.println(dt); // dt = dt.plusMinutes(30); // System.out.println(dt); // DateTimeZone HONG_KONG_TZ = DateTimeZone.forID("Asia/Hong_Kong"); // DateTime date1 = new DateTime(2013, 10, 2, 11, 30, 53, 512, HONG_KONG_TZ); // DateTime date2 = date1.toDateTime(DateTimeZone.UTC); // System.out.println(date1); // System.out.println(date2); // // System.out.println(date1.compareTo(date2)); // System.out.println(date1.toLocalDate().compareTo(date2.toLocalDate())); // System.out.println(DateTimeComparator.getInstance().compare(date1, date2)); // System.out.println(DateTimeComparator.getDateOnlyInstance().compare(date1, date2)); // System.out.println(DateTimeComparator.getDateOnlyInstance().compare(date1, date1.plusMinutes(1))); // TimeZone jdkMST = TimeZone.getTimeZone("MST"); // TimeZone jdkDenver = TimeZone.getTimeZone("America/Denver"); // DateTimeZone mst = DateTimeZone.forTimeZone(jdkMST); // DateTimeZone mst2 = DateTimeZone.forID(jdkMST.getID()); // System.out.println(jdkMST); // jdkMST.setID("America/Denver"); // System.out.println(jdkMST); // System.out.println(jdkDenver); // System.out.println(jdkDenver.equals(jdkMST)); // System.out.println(jdkMST.getID()); // System.out.println(mst.getID() + (mst.isFixed() ? " Fixed" : " DST")); // System.out.println(mst2.getID() + (mst2.isFixed() ? " Fixed" : " DST")); // DateTimeZone m = DateTimeZone.forID("MST7MDT"); // System.out.println(m + (m.isFixed() ? " Fixed" : " DST")); // System.out.println(DateTimeFormat.forPattern("s").print(321234)); // System.out.println(DateTimeFormat.forPattern("ss").print(321234)); // System.out.println(DateTimeFormat.forPattern("sss").print(321234)); // System.out.println(DateTimeFormat.forPattern("S").print(321234)); // System.out.println(DateTimeFormat.forPattern("SS").print(321234)); // System.out.println(DateTimeFormat.forPattern("SSS").print(321234)); // System.out.println(DateTimeFormat.forPattern("SSSS").print(321234)); // // DateTimeFormatter f = DateTimeFormat.forPattern("M d").withLocale(Locale.UK); // MutableDateTime result = new MutableDateTime(2000, 1, 1, 0, 0, 0, 0, NEWYORK); // System.out.println("4 = " + f.parseInto(result, "2 29", 0)); // System.out.println("" + new MutableDateTime(2000, 2, 29, 0, 0, 0, 0, NEWYORK) + " = " + result); // Chronology chronology = GJChronology.getInstance(); // // LocalDate start = new LocalDate(2013, 5, 31, chronology); // LocalDate expectedEnd = new LocalDate(-1, 5, 31, chronology); // 1 BC //// System.out.println(expectedEnd.plusYears(2013).equals(start)); // System.out.println(start.minusYears(2013).equals(expectedEnd)); //// System.out.println(start.plus(Period.years(-2013)).equals(expectedEnd)); // Period p1 = new Period(5L, PeriodType.hours()); // System.out.println(p1); // String string = p1.toString(); // System.out.println(string); // Period p2 = Period.parse(string); // System.out.println(p2); // Locale.setDefault(Locale.CHINA); // TimeZone sTimeZone = java.util.TimeZone.getTimeZone("GMT-01:00"); // System.out.println(Locale.getDefault()); // System.out.println(sTimeZone.getDisplayName()); // DateTimeZone dtz = DateTimeZone.forTimeZone(sTimeZone); // System.out.println(dtz.getID()); // DateTime n = DateTime.now(); // final DateTime now = n.toDateTimeISO(); // final DateTime parsed = DateTime.parse(now.toString()).withZone(null); // final DateTime parsed2 = new DateTime(now.toString()); // System.out.println(now.getZone() + " " + parsed.getZone()); // System.out.println(now + " " + parsed); // System.out.println(now.getZone() + " " + parsed2.getZone()); // System.out.println(now + " " + parsed2); // // MutableDateTime time = new MutableDateTime(DateTimeZone.forOffsetHours(1)); //// time.setZone(DateTimeZone.forOffsetHours(1)); // time.setRounding(time.getChronology().dayOfMonth(), MutableDateTime.ROUND_FLOOR); // // MutableDateTime utcTime = new MutableDateTime(DateTimeZone.UTC); // utcTime.setRounding(utcTime.getChronology().dayOfMonth(), MutableDateTime.ROUND_FLOOR); // // time.setMillis(90000); // utcTime.setMillis(90000); // System.out.println("time: " + time + ", utc " + utcTime); // System.out.println("time_millis: " + time.getMillis() + ", utc_millis " + utcTime.getMillis()); // //// MutableDateTime time = new MutableDateTime(DateTimeZone.forOffsetHours(1)); ////// time.setZone(DateTimeZone.forOffsetHours(1)); //// time.setRounding(time.getChronology().minuteOfHour(), MutableDateTime.ROUND_FLOOR); //// //// MutableDateTime utcTime = new MutableDateTime(DateTimeZone.UTC); //// utcTime.setRounding(utcTime.getChronology().minuteOfHour(), MutableDateTime.ROUND_FLOOR); //// //// time.setMillis(90000); //// utcTime.setMillis(90000); //// System.out.println("time: " + time + ", utc " + utcTime); //// System.out.println("time_millis: " + time.getMillis() + ", utc_millis " + utcTime.getMillis()); } }